package com.example.lotterysystem.service.activitystatus.operator;

import com.example.lotterysystem.service.dto.ConvertActivityStatusDTO;

/**
 * Created with IntelliJ IDEA.
 * Description: 策略模式: sequence: 1 代表先处理，2 代表后处理
 * 此处的抽象方法可以当作各种 Operator 的策略来实现
 * User: Li_Xiaochi
 * Date: 2025/8/21
 * Time: 15:12
 */
public abstract class AbstractActivityOperator {
    /**
     * 控制处理顺序
     * @return
     */
    public abstract Integer sequence();

    /**
     * 是否需要转换
     *
     * @param convertActivityStatusDTO
     * @return
     */
    public abstract Boolean needConvert(ConvertActivityStatusDTO convertActivityStatusDTO);

    /**
     * 转换方法
     *
     * @param convertActivityStatusDTO
     * @return
     */
    public abstract Boolean convert(ConvertActivityStatusDTO convertActivityStatusDTO);
}
